/**
 * Copyright (c) 2011-2015 1lifes.com
 * HSJ java-handlersocket
 * Id: IPacket.java
 */
package com.elifes.hsj.packet;


/**
 * 描述：
 * @author yangqiang
 * @createtime 2011-11-12下午5:06:28
 *
 */
public interface IPacket {
	/**
	 * 
	 * 描述：网络连接对应的indexId
	 * @return indexId
	 */
	public String getIndexId();
	
	/**
	 * 
	 * 描述：网络连接对应的数据库名
	 * @return dbName
	 */
	public String getDbName();
	
	/**
	 * 
	 * 描述：发送内容编码为hs协议规定的格式
	 * @return
	 */
	public String encode();
	
	/**
	 * 
	 * 描述：返回内容进行解码
	 * @return
	 */
	public Object decode();
	
	/**
	 * 
	 * 描述：操作失败，设置错误信息
	 * @param t
	 */
	public void setExceptionMessage(String t);

	/**
	 * 
	 * 描述：获取错误信息
	 * @return
	 */
	public String getExceptionMessage();
	
	/**
	 * 
	 * 描述：
	 * @param timeout
	 */
	public boolean await(int timeout);
	
	/**
	 * 
	 * 描述：
	 */
	public void await();
	
	/**
	 * 
	 * 描述：
	 * @return
	 */
	public Object getResult();
	
	/**
	 * 
	 * 描述：
	 * @param result
	 */
	public void setResult(Object result);
	
	/**
	 * 
	 * 描述：
	 * @return
	 */
	public PacketEnum getType();
}
